package com.answer.petsale.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 宠物销售订单
 * @TableName orders
 */
@TableName(value ="orders")
@Data
public class Order implements Serializable {
    /**
     * 订单ID，主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 购买用户ID, 关联user表
     */
    private Long userId;

    /**
     * 购买的宠物ID, 关联animal表
     */
    private Long animalId;

    /**
     * 唯一订单号
     */
    private String orderNumber;

    /**
     * 最终成交价格
     */
    private BigDecimal finalPrice;

    /**
     * 订单状态 (0: 待支付, 1: 已完成, 2: 已取消)
     */
    private Integer status;

    // START: 新增代码
    /**
     * 订单拒绝理由
     */
    private String rejectionReason;
    // END: 新增代码

    /**
     * 订单创建时间
     */
    private Date createTime;

    /**
     * 订单更新时间
     */
    private Date updateTime;

    /**
     * 支付完成时间
     */
    private Date payTime;

    /**
     * 是否删除
     */

    private String consignee;

    private String phone;

    private String address;

    private String remark;

    @TableLogic
    private Integer isDelete;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}